package com.jt.controller;

import com.jt.pojo.Result;
import com.jt.pojo.User;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;

@RestController
@RequestMapping("/third")
public class ThirdApiController {
    /*获取权限路由菜单*/
    @GetMapping("/getApi")
    public void getApi() {

//        int threadNum = Runtime.getRuntime().availableProcessors(); // 根据可用处理器确定线程数
//        ExecutorService executorService = Executors.newFixedThreadPool(threadNum); // 创建固定大小的线程池
//        List<CompletableFuture<Void>> futures = new ArrayList<>(); // 存放所有的异步操作
//        AtomicInteger code = new AtomicInteger(200);
//        // 使用线程安全的ConcurrentLinkedQueue来存储执行失败的guid
//        ConcurrentLinkedQueue<String> guids = new ConcurrentLinkedQueue<>();
//        for(String guid : guids) {
//            CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
//                try {
//                    String sqlData = thirdPartyService.getSqlDataByGuid(guid);
//                    String tableName = extractTableNameFromSql(sqlData);
//                    yourDatabaseRepository.insertTableName(guid, tableName);
//                } catch (Exception ex) {
//                    code.set(500); // 更新状态码
//                    failedGuids.add(guid); // 记录失败的guid
//                    return;
//                }
//            }, executorService); // 指定线程池用于执行异步任务。
//
//            futures.add(future);
//        }
//
//        CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join(); // 等待所有任务执行完毕
//        executorService.shutdown(); // 关闭线程池
//
    }}